#pragma once
#include "ResourceCache.h"
#include "..\..\Core\Synchronization\ThreadPool.h"
#include "..\..\Core\CoreInterfaces.h"
#include "..\..\Core\EventManager\EventManager.h"
#include "..\..\Core\EventManager\Events\ResourceCacheEvents.h"
namespace re
{
	namespace io
	{
		class ResourceCacheProcess : public core::RealtimeProcess
		{
		public:
			ResourceCacheProcess() {}
			~ResourceCacheProcess() {}

			void Update();
			void Initialize();
			void ShutDown();
		private:
			ResourceCache rescache_;
			core::EventListenerPtr listener_holder_;
			core::RealtimeEventListener * listener_; // avoid non-stop type casts
		};
	}
}